<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function greedy(nums) {
      // 定义当前所到达的索引为最后一个元素索引
      let res = nums.length - 1,
        // 定义当前步数为0
        step = 0;
      // 当当前索引等于0时，证明已求得从0位置跳转到最后一个元素位置的步数
      while (res > 0) {
        // 左到右遍历数组
        for (let i = 0; i < res; i++) {
          //「贪心」选择能跳到当前位置且距离最远的那个位置
          if (nums[i] + i >= res) {
            // 重置当前位置为找到的位置，继续遍历
            res = i;
            // 增加步数
            step++;
          }
        }
      }
      // 返回结果
      return step;
    }
    console.log(greedy(nums = [2, 3, 1, 1, 4]))
  </script>

</body>

</html>